clear all 

use "data\in\elbileiere2019_maalepunkt2019_wattmete2018.dta", clear 
keep Navn Merke* Modell* Måle* Modår* mergedon 
keep if inlist(mergedon, "Navn", "name1Adresse1")
drop mergedon 
g n = _n 
reshape long Merke Modell Målepunktnr Modår, i(n)
drop n _j 
drop if Målepunktnr == . 
destring Modår, g(year)
merge m:1 Merke Modell Modår using "data\in\elbiltyper_Modell_Modår_Antall_Batterikapasitet_kWh.dta", keepusing(Batterikapasitet) nogen 
replace Batterikapasitet = 16 if Batterikapasitet == . // assume missing is small battery 
su Batterikapasitet, detail 
g byte abovemedianbattery = (Batterikapasitet > `r(p50)')
g byte EVlarge = abovemedianbattery 
*g byte EVlarge = (strpos(Merke,"AUDI") > 0 | strpos(Merke, "JAGUAR") > 0 | strpos(Merke, "TESLA") > 0 | (Merke == "KIA" & Modell == "NIRO" & Modår == "2019") | Modell == "EV80" | (Modell == "ZOE" & Modår == "2019") | Modell == "NISSAN LEAF 62 KWH" | (Modell == "SOUL" & Modår == "2019") | (Modell == "Berlingo" & Modår == "2018") ) 
// | (Modell == "I3" & Modår == "2019") | (Modell == "NISSAN E-NV200" & inlist(Modår,"2018","2019")) | strpos(Modell,"40KWH") > 0 
*replace EVlarge = -1 if strpos(Merke,"TESLA") > 0 & year <= 2017
drop year 
tab Merke EVlarge, m 
keep Målepunktnr EVlarge Batterikapasitet
rename Målepunktnr maalepktnr
*gsort maalepktnr -EVlarge 
gsort maalepktnr -Batterikapasitet // keep larges EV battery in household 
keep if maalepktnr != maalepktnr[_n-1]
tempfile EVlarge
save `EVlarge', replace 




* Figure 2 
use "data\out\pre_patterns_sample.dta", clear 
merge m:1 maalepktnr using `EVlarge', keep(master match) nogen 
tab  EVlarge elcar, m 
replace EVlarge = 0 if EVlarge == .
replace EVlarge = 0 if elcar == 0  

gcollapse (mean) lnforbruk forbruk lnforbruk_jan_march forbruk_jan_march lnforbruk_april_nov forbruk_april_nov (semean) se_lnforbruk = lnforbruk se_forbruk = forbruk se_lnforbruk_jan_march = lnforbruk_jan_march se_forbruk_jan_march = forbruk_jan_march se_lnforbruk_april_nov = lnforbruk_april_nov se_forbruk_april_nov = forbruk_april_nov, by(elcar EVlarge hour) 
foreach x in lnforbruk forbruk lnforbruk_jan_march forbruk_jan_march lnforbruk_april_nov forbruk_april_nov {
	gen `x'_lo = `x'-1.96*se_`x'
	gen `x'_hi = `x'+1.96*se_`x'
}
egen yhi = max(forbruk_jan_march_hi) 
g y0 = 0 

sort elcar EVlarge hour 

*** levels   
two (line forbruk_jan_march hour, c(L) lc(black) ) ///
  (rcap forbruk_jan_march_lo forbruk_jan_march_hi hour,  lc(black) lw(vthin)) ///
  (rarea yhi y0 hour if inrange(hour,16,22), col(gs11%20)) /// 
  , xlab(0(2)23) ylab(0(1)5) xtitle("") ///xline(16) xline(21) 
  legend(off) text(4.1 4 "Large EV") text(3.1 4 "Small EV") text(2.2 3.8 "No electric vehicle") /// 
  title("January – March, 2019") /// 
  name(fig2_left_level, replace)

two (line forbruk_april_nov hour, c(L) lc(black) ) ///
  (rcap forbruk_april_nov_lo forbruk_april_nov_hi hour,  lc(black) lw(vthin)) ///
  (rarea yhi y0 hour if inrange(hour,16,22), col(gs11%20)) /// 
  , xlab(0(2)23) ylab(0(1)5) xtitle("") ///xline(16) xline(21) 
  legend(off) text(2.5 4 "Large EV") text(1.6 4 "Small EV") text(1.1 3.8 "No electric vehicle") /// 
  title("April – November, 2019") /// 
  name(fig2_right_level, replace)

gr combine fig2_left_level fig2_right_level, ycommon l1title("kWh", orient(horizontal) placement(12)) b1title(time of day) name(figure_C4, replace)
graph export "output\figure_C4.pdf", as(pdf) name("figure_C4") replace


* Figure 3
clear all 

use "data\in\elbileiere2019_maalepunkt2019_wattmete2018.dta", clear 
keep Navn Merke* Modell* Måle* Modår* mergedon 
keep if inlist(mergedon, "Navn", "name1Adresse1")
drop mergedon 
g n = _n 
reshape long Merke Modell Målepunktnr Modår, i(n)
drop n _j 
drop if Målepunktnr == . 
destring Modår, g(year)
merge m:1 Merke Modell Modår using "data\in\elbiltyper_Modell_Modår_Antall_Batterikapasitet_kWh.dta", keepusing(Batterikapasitet) nogen 
replace Batterikapasitet = 16 if Batterikapasitet == . // assume missing is small battery 
su Batterikapasitet, detail 
g byte abovemedianbattery = (Batterikapasitet > `r(p50)')
g byte EVlarge = abovemedianbattery 
*g byte EVlarge = (strpos(Merke,"AUDI") > 0 | strpos(Merke, "JAGUAR") > 0 | strpos(Merke, "TESLA") > 0 | (Merke == "KIA" & Modell == "NIRO" & Modår == "2019") | Modell == "EV80" | (Modell == "ZOE" & Modår == "2019") | Modell == "NISSAN LEAF 62 KWH" | (Modell == "SOUL" & Modår == "2019") | (Modell == "Berlingo" & Modår == "2018") ) 
// | (Modell == "I3" & Modår == "2019") | (Modell == "NISSAN E-NV200" & inlist(Modår,"2018","2019")) | strpos(Modell,"40KWH") > 0 
*replace EVlarge = -1 if strpos(Merke,"TESLA") > 0 & year <= 2017
drop year 
tab Merke EVlarge, m 
keep Målepunktnr EVlarge Batterikapasitet
rename Målepunktnr maalepktnr
*gsort maalepktnr -EVlarge 
gsort maalepktnr -Batterikapasitet // keep larges EV battery in household 
keep if maalepktnr != maalepktnr[_n-1]
tempfile EVlarge
save `EVlarge', replace 

use "data\out\estsample.dta", clear
merge m:1 maalepktnr using `EVlarge', keep(master match) nogen 
tab  EVlarge elcar, m 
replace EVlarge = 0 if EVlarge == .
replace EVlarge = 0 if elcar == 0  

g eventtime = 100 if inrange(treatday,1,7)
foreach d in 21893 21902 21937 21944 21958 21971 21979 {
  replace eventtime = 100 -1 if dato == `d' - 1 
  replace eventtime = 100 -2 if dato == `d' - 2 
  replace eventtime = 100 -3 if dato == `d' - 3 
  replace eventtime = 100 + 1 if dato == `d' + 1 
  replace eventtime = 100 + 2 if dato == `d' + 2 
}

keep if inrange(eventtime,97,102)
g forbruk = exp(lnforbruk)
gcollapse (mean) lnforbruk forbruk (semean) se_lnforbruk = lnforbruk se_forbruk = forbruk, by(eventtime Treat elcar EVlarge hour) 
foreach x in lnforbruk forbruk {
	gen `x'_lo = `x'-1.96*se_`x'
	gen `x'_hi = `x'+1.96*se_`x'
}
egen yhi = max(forbruk_hi) 
g y0 = 0 

sort Treat elcar EVlarge hour 

two (line forbruk hour if Treat == 1 & elcar == 0, c(L) lc(black)  lp(l)) ///
  (line forbruk hour if Treat == 0 & elcar == 0, c(L) lc(gs9) lp(-) ) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 1 & elcar == 0, lc(black) lw(vthin)) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 0 & elcar == 0,  lc(gs9) lw(vthin)) ///
  (sc forbruk hour if Treat == 1 & EVlarge == 1 & elcar == 1, m(diamond)  msize(small) mcolor(forest_green) c(L) lc(forest_green) lp(l) ) ///
  (sc forbruk hour if Treat == 0 & EVlarge == 1 & elcar == 1, m(diamond)  msize(small) mcolor(forest_green) c(L) lc(forest_green) lp(-) ) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 1 & EVlarge == 1,  lc(forest_green) lw(vthin)) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 0 & EVlarge == 1,  lc(forest_green) lw(vthin)) ///
  (sc forbruk hour if Treat == 1 & EVlarge == 0 & elcar == 1, m(X) msize(small) mcolor(green%50) c(L) lc(green%50)  lp(l)) ///
  (sc forbruk hour if Treat == 0 & EVlarge == 0 & elcar == 1, m(X) msize(small) mcolor(green%50) c(L) lc(green%50) lp(-) ) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 1 & EVlarge == 0 & elcar == 1,  lc(green) lw(vthin)) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 0 & EVlarge == 0 & elcar == 1,  lc(green) lw(vthin)) ///
  (rarea yhi y0 hour if inrange(hour,16,22), col(gs11%20)) /// 
  if eventtime == 100 /// 
  , xlab(0(2)23, glcolor(gs13)) ylab(0(1)5, glcolor(gs13)) ytitle("") xtitle("") ///xline(16) xline(21) 
  legend(order(1 "Treatment" 2 "Control") pos(7) ring(0)) text(4.8 4 "Large EV") text(3.1 4 "Small EV") text(2.1 3.8 "No electric vehicle") /// 
  title(CPP day) /// 
  name(fig2_extra_mean_T_C_elcar_others, replace)
*graph export "H:\Dokumenter\strøm\JAERE revision\fig2_extra_mean_T_C_elcar_others.pdf", as(pdf) name("fig2_extra_mean_T_C_elcar_others") replace

two (line forbruk hour if Treat == 1 & elcar == 0, c(L) lc(black)  lp(l)) ///
  (line forbruk hour if Treat == 0 & elcar == 0, c(L) lc(gs9) lp(-) ) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 1 & elcar == 0,  lc(black) lw(vthin)) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 0 & elcar == 0,  lc(gs9) lw(vthin)) ///
  (sc forbruk hour if Treat == 1 & EVlarge == 1 & elcar == 1, c(L)  m(diamond)  msize(small) mcolor(forest_green) lc(forest_green) lp(l)) ///
  (sc forbruk hour if Treat == 0 & EVlarge == 1 & elcar == 1, c(L) m(diamond)  msize(small) mcolor(forest_green) lc(forest_green) lp(-) ) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 1 & EVlarge == 1,  lc(forest_green) lw(vthin)) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 0 & EVlarge == 1,  lc(forest_green) lw(vthin)) ///
  (sc forbruk hour if Treat == 1 & EVlarge == 0 & elcar == 1, c(L) m(X) msize(small) mcolor(green%50) lc(green%50)  lp(l)) ///
  (sc forbruk hour if Treat == 0 & EVlarge == 0 & elcar == 1, c(L) m(X) msize(small) mcolor(green%50) lc(green%50) lp(-) ) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 1 & EVlarge == 0 & elcar == 1,  lc(green) lw(vthin)) ///
  (rcap forbruk_lo forbruk_hi hour if Treat == 0 & EVlarge == 0 & elcar == 1,  lc(green) lw(vthin)) ///
  (rarea yhi y0 hour if inrange(hour,16,22), col(gs11%20)) /// 
  if eventtime == 101 /// 
  , xlab(0(2)23, glcolor(gs13)) ylab(0(1)5, glcolor(gs13)) xtitle("") ///xline(16) xline(21) 
  legend(off) text(4.8 4 "Large EV") text(3.1 4 "Small EV") text(2.1 3.8 "No electric vehicle") /// 
  ///text(4.9 18.5 "Control") text(3.05 18.5 "Control") text(3.5 18.5 "Treatment") text(2.3 18.5 "Treatment") ///
  title(Day after CCP day) /// 
  name(fig2_extra_mean_T_C_elcar_oth_p1, replace)
*graph export "H:\Dokumenter\strøm\JAERE revision\fig2_extra_mean_T_C_elcar_oth_p1.pdf", as(pdf) name("fig2_extra_mean_T_C_elcar_oth_p1") replace

gr combine fig2_extra_mean_T_C_elcar_others fig2_extra_mean_T_C_elcar_oth_p1, b1title(time of day) l1title("kWh", orient(horizontal) placement(12)) name(figure_C5, replace)
graph export "output\figure_C5.pdf", as(pdf) name("figure_C5") replace
